This invention relates to devices and methods for managing the transmission of a media stream in changeable network conditions.
Real-time streaming of multimedia content over the internet has become an increasingly common application in recent years. A wide range of multimedia applications, such as on-demand TV, live TV viewing, video conferencing, net meetings, video telephony, voice over internet protocol (VoIP) and many others rely on end-to-end streaming solutions. Unlike a “downloaded” media file, which may be retrieved first in “non real-time” and viewed or played back later, streaming media applications require a media source to encode and to transmit a media signal over a network to a media receiver, which must decode and play the media signal in real time.
Voice and Video over IP (VVoIP) calls, in particular, require VVoIP packets to be received and decoded in a timely manner so that the speech and video can be played back with minimal delay. However, poor bandwidth availability can lead to the late arrival of VVoIP packets, which causes an undesirable delay or loss in the playback of the speech and video. In such conditions, the quality of the voice and video media may be reduced so that the VVoIP call uses less network bandwidth, which may help packets traverse the network more rapidly.
The network bandwidth available may vary depending on the route between the two callers. For example, if the VVoIP call is being carried out on a mobile device connected to a mobile network, the available bandwidth will vary depending on the mobile network coverage, the number of users in a mobile cell, distance from a base station, etc. Similarly, a device connected to a WiFi network may also experience variable bandwidth availability due to the number of users connected to the access point, WiFi signal strength, etc. Some devices may also switch their network connections between a mobile network and WiFi. Thus, the bandwidth available for the VVoIP call can vary.
A decrease in the available bandwidth may cause the quality of the VVoIP call to degrade. The bandwidth may decrease during a VVoIP, which may cause the VVoIP packets to queue up at some point in the network. As mentioned above, this may lead to a delay in those packets being received by the recipient and thus cause an undesirable delay in the playout of the audio and video media in those packets. A large build-up of packets in the network may eventually lead to the call being dropped. Thus it is desirable to adapt the transmission properties (such as the bitrate) of the VVoIP call so that the call can be maintained when there is a decrease in the available bandwidth.
When there is an increase in the available bandwidth, it is desirable to adapt the transmission properties of the VVoIP call so that the call is carried out with the best audio and video quality possible to enhance the call experience for the users.
One method of estimating the available bandwidth of a network is to send probe packets into the network and measure the delay in receiving those packets at a receiving device. Ribeiro et al, “pathChirp: Efficient Available Bandwidth Estimation for Network Paths” (2003), details one such probing method. A problem with such conventional probing methods is that the network bandwidth is detected by degrading the network. The probe packets themselves utilise network bandwidth and thus the probing may degrade the quality of the VVoIP call, especially when the available network bandwidth is already somewhat limited.
There is, therefore, a need for a more efficient method of estimating the available bandwidth of a network and to efficiently adapt the transmission properties of a VVoIP stream (or any other type of media stream) to provide a stream with best quality possible.